просмотров:586335 | комметариев: 10
Случайный порядок чисел(без повторений).

Например, нужно получить ряд чисел от 1 до 10 в случайном порядке, так чтобы числа не повторялись. Например такой ряд: 6,1,8,7,2,4,5,9,3,10. Предлагаю такое решение:

$ar_rang = array(); $ar_rand = range(1, 10); shuffle($ar_rand);

Во второй строке функция range(low, high) возвращает массив целых чисел в диапазоне от значения low до high. Т.е. приводит массив к такому виду - $ar_rand равен Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ).

В следующей строке функция shuffle() располагает элементы в массиве случайным образом. $ar_rand равен Array ( [0] => 5 [1] => 2 [2] => 7 [3] => 1 [4] => 9 [5] => 6 [6] => 10 [7] => 3 [8] => 4 [9] => 8 ).

Теперь поочередно обращаясь к элементам массива, можно получить каждый раз уникальное(не повторяющееся) число. Например :

foreach ($ar_rand as $val) echo ' ' . $val; // например 2 9 6 4 1 10 3 7 5 8

просмотров:586335 | комметариев: 10
Илья
03 ноября 2010, 16:55
Супер! то что нужно!)))
Просто гениальное решение) коротко и просто
Виталий
30 апреля 2011, 15:38
Отлично, то что надо, без повторений, а как все просто.

Автор спасибо.
Мунира
25 ноября 2011, 14:47
Супер
Vlad
13 Февраля 2014, 23:20
Объясните как оно "запоминает" те значения которые уже были?
Губарев Михаил
14 Февраля 2014, 08:11
Влад, как реализована функция shuffle я могу только догадываться. Это вопрос к разработчикам пхп.
Анастасия
22 сентября 2017, 12:18
Используйте новый вариант генератора случайных чисел для лотереи https://ultragenerator.com/randomnumbers/
Diva
10 сентября 2019, 02:23
Which year are you in? http://beeg-beegcom.in.net/ .beeg Zollitsch, one of the highest ranking figures in the Roman Catholic Church in Germany, will discuss the crisis this week with Pope Francis, who early in his pontificate renounced the papal apartments for a simple residence.
Eva
10 сентября 2019, 05:46
We're at university together http://xxx-xxxxxxx.in.net/ xxx video hindi “Those in a position of trust or responsibility, such as lawyers, medical practitioners or business or financial consultants, are increasingly in HMRC’s line of fire, and we are also seeing an increase in buy-to-let investors falling foul of the system.”
slileaegt
14 сентября 2019, 16:57
Уважаемые пользователи, всем доброго времени суток!
Предлагаем лучший [url=https://slivysklad.com]сайт[/url] платных курсов бесплатно - Slivysklad.com.
Только у нас и только для Вас крупнейшая база, ежедневное обновление, интересные обсуждения, онлайн образование, бесплатные и премиум аккаунты, простой интерфейс сайта.
Благодаря удобному поиску, реализованному на сайте, Вы без всякого труда найдете интересующую информацию.
Ознакомиться более подробно Вы сможете, перейдя по [url=https://slivysklad.com]ссылке[/url].
Благодарим за внимание!
Harvey
15 сентября 2019, 15:56
I'd like to open an account http://genericlevitra.in.net/ levitra 20 According to the DEA, “MDMA is a Schedule I drug under the Controlled Substances Act, meaning it has a high potential for abuse, no currently accepted medical use in treatment in the United States, and a lack of accepted safety for use under medical supervision.”
просмотров:586335 | комметариев: 10

Оставить комментарий:    

Ваше имя:
 
Текст комментария:
 
+ 1 =